課程資訊
課程名稱
物件導向程式設計
Object-oriented Software Design 
開課學期
111-2 
授課對象
電機資訊學院  資訊工程學系  
授課教師
劉邦鋒 
課號
CSIE1211 
課程識別碼
902 10730 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期四7,8,9(14:20~17:20) 
上課地點
資105 
備註
初選不開放。須修過劉邦鋒老師開設之「計算機程式設計」。
限本系所學生(含輔系、雙修生)
總人數上限:20人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

https://www.facebook.com/pangfeng.liu/posts/pfbid02dBsr1e2gnVD6iBd2qN8u5TMvUt4x3Hy7mL893LjMR5Q3yB4sm5FL3HbVnTZ1kHSKl 

課程目標
This course aims to help you understand th key issues in OOP with refactoring. We will use C++ to realize OOP concepts such as encapsulation, polymorphism, and the separation of implementation and interfaces. This course requires extensive in-class discussion and in-depth digest after class and hands-on practice. 
課程要求
想修本宅物件導向程式的同學請寄 email 給我,並附上SOP及成績單。信件 subject 請用 [C++OOP] 學號+姓名。 這門課的內容請參考 https://www.facebook.com/pangfeng.liu/posts/pfbid02dBsr1e2gnVD6iBd2qN8u5TMvUt4x3Hy7mL893LjMR5Q3yB4sm5FL3HbVnTZ1kHSKl

修課學生要求
https://www.facebook.com/pangfeng.liu/posts/pfbid02SyXDgNM7Js7XA5BY46kE3S54tP8uVC2VrXiEZCEcU4sULxHvjPiEUdvVAq96LXbYl 
預期每週課後學習時數
Office Hours
 
指定閱讀
https://github.com/pangfengliu/Cplusplus-refactor 
參考書目
https://github.com/pangfengliu/Cplusplus-refactor 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
2/23  The difference between C and C++, array and its application, and floating point numbers. 
第2週
3/02  Refactor with function, C raw pointers. 
第3週
3/09  Reference type, C++ standard data type 
第4週
3/16  C++ char and string and the difference between them and C string. 
第5週
3/23  bit operations in C and C++, and refactor with structure 
第6週
3/30  Modularization and separate compilation 
第7週
4/06  Refactor with C++ class, Recursion, refactor with inheritance 
第8週
4/13  Midterm exam 
第9週
4/20  Refactor with the operator, lambda function, catch and try. 
第10週
4/27  Linked list 
第11週
5/04  C++ move semantic, smart pointer, and binary trees 
第12週
5/11  polymorphism and virtual functions 
第13週
5/18  Operator overloading 
第14週
5/25  Template and preprocessing 
第15週
6/01  Unwanted topics, e.g., friend class and function, private and protected inheritance.